﻿//
//  network_quality.h
//  wmp_av
//
//  Created by lokiyu on 2018/7/3.
//
#ifndef _NETWORK_AUQLITY_
#define _NETWORK_AUQLITY_

#include "xcast_handler.h"
#include <string>

namespace Stream {
    namespace Network {
        namespace Listener {
            class Interface {
            public:
                virtual ~Interface() {}
                
                virtual void OnNetworkState(const char* stream_id, uint64_t uin,int quality) = 0;
                
                virtual void OnStreamActive(const char* stream_id, uint64_t uin, bool active) = 0;
                
            };
            
            void Add(Interface* listener);
            
            void Remove(Interface* listener);
        }
        
        namespace XcastEvent {
            
            void OnNetworkState(const char* stream_id, uint64_t uin,int quality);
            
            void OnStreamActive(const char* stream_id, uint64_t uin, bool active);
        
        }
        
    }
}

#endif /* network_quality_h */
